from api_tests.base_api import BaseApi

class UserUpdateApi:
    def __init__(self):
        self.api = BaseApi()
        self.url = f"{self.api.base_url}/user/update"
    
    def update_user(self, user_id, user_name, user_email=None, user_phone=None):
        """
        更新用户信息
        
        Args:
            user_id: 用户ID
            user_name: 用户名
            user_email: 用户邮箱（可选）
            user_phone: 用户电话（可选）
            
        Returns:
            str: 格式化的响应结果
        """
        # 构建请求参数
        user_update_request = {
            "id": user_id,
            "userName": user_name
        }
        
        # 添加可选参数
        if user_email:
            user_update_request["email"] = user_email
        if user_phone:
            user_update_request["phone"] = user_phone
        
        # 发送请求（需要管理员权限）
        response = self.api.post(
            url=self.url,
            json=user_update_request,
            auth_type="admin"
        )
        
        # 解析和格式化响应
        result, error = self.api.parse_response(response)
        return self.api.format_result(result, error)

# 测试示例
if __name__ == "__main__":
    user_api = UserUpdateApi()
    result = user_api.update_user(
        user_id=1,  # 替换为实际的用户ID
        user_name="测试用户",
        user_email="test@example.com"
    )
    print(result)